#include "main.h"
#include "drv_radar.h"

#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
#include "timers.h"
#include "semphr.h"

typedef enum
{
    RAD_STATE_IDLE,
    RAD_STATE_TRIGGER,
    RAD_STATE_TRIGGER_ENSURE,
    RAD_STATE_NORMAL,
    RAD_STATE_NORMAL_SURE,
}rad_state_t;

static TaskHandle_t task_rad=NULL;
static uint8_t state=RAD_STATE_IDLE;



void rad_task(void *params)
{
    uint8_t value;
    vTaskDelay(3000);
    value=HAL_GPIO_ReadPin(RAD_IN_GPIO_Port,RAD_IN_Pin);

    while(1)
    {
        switch (state)
        {
            case RAD_STATE_IDLE:
                
                break;
            case RAD_STATE_TRIGGER:

                break;
            case RAD_STATE_TRIGGER_ENSURE:

                break;
            case RAD_STATE_NORMAL:

                break;
            case RAD_STATE_NORMAL_SURE:

                break;
            default:
                break;
        }
        if(HAL_GPIO_ReadPin(RAD_IN_GPIO_Port,RAD_IN_Pin))
        {
            HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);
        }
        else
        {
            HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);
        }
        vTaskDelay(100);
    }
}

void rad_init()
{
    HAL_GPIO_WritePin(RAD_EN_GPIO_Port,RAD_EN_Pin,GPIO_PIN_SET);
    HAL_GPIO_WritePin(RAD_PWR_GPIO_Port,RAD_PWR_Pin,GPIO_PIN_SET);
    xTaskCreate(rad_task, "loraTask", 128, NULL, 2, &task_rad);
}

